package map08;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/*
Arrays：一个专门操作的数组工具类，里面定义了大量操作数组方法：对数组排序，对数组二分查找....
static<T> List<T> asList(T...a)
    asList可以将数组中的元素封装到一个集合中，然后返回这个集合

<T> T[]
 toArray(T[] a)
     将集合中的元素封装到指定数组中，然后返回这个数组

 ArrayList类中
    ArrayList(Collection<? extends E> c)
          构造一个包含指定 collection 的元素的列表，这些元素是按照该 collection 的迭代器返回它们的顺序排列的。

 */
public class Demo02 {
    public static void main(String[] args) {
        //method01();
        /*
           1.Array.asList("abc", "def", "ghk", "lmn"));
               会将4个元素封装到一个List集合中，然后返回这个集合
           2.我们通过Array构造方法传入这个集合，此时new的ArrayList对象会利用传过来这个集合中的元素来填充数据
         */
        ArrayList<String> al = new ArrayList<>(Arrays.asList("abc", "def", "ghk", "lmn"));
    /*    al.add("abc");
        al.add("def");
        al.add("ghk");
        al.add("lmn");*/
        System.out.println(al);

    }

    private static void method01() {
        List<String> list = Arrays.asList("abc", "def");
        for (String s : list) {
            System.out.println(s);
        }
    }
}
